ActiveTranslatorAdapter   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 17
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A onChange 0 6 1
1
import {Observer, ObserverAdapter} from '@enbock/state-value-observer/ValueObserver';
2
import Manager from '../Manager';
3
import Translator from '../Translator';
4
5
export default class ActiveTranslatorAdapter implements ObserverAdapter<string> {
6
  protected baseAdapter: ObserverAdapter<string>;
7
  protected manager: Manager;
8
  protected activeTranslator: Observer<Translator>;
9
10
  constructor(baseAdapter: ObserverAdapter<string>, manager: Manager, activeTranslator: Observer<Translator>) {
11 2
    this.activeTranslator = activeTranslator;
12 2
    this.baseAdapter = baseAdapter;
13 2
    this.manager = manager;
14
  }
15
16
  onChange(newValue: string): void {
17 1
    this.manager.getTranslator(newValue).then(
18
      (translator: Translator): void => {
19 1
        this.activeTranslator.value = translator;
20 1
        this.baseAdapter.onChange(newValue);
21
      }
22
    );
23
  }
24
}
25